package com.bestcem.xm.user.dao;

import com.bestcem.xm.user.entity.pojo.UserPrivateKeyDO;

/**
 * 公钥私钥基础服务dao
 *
 * @author qiongyu.cui <qiongyu.cui@idiaoyan.com>
 * @version v1.0
 * @date 2022/3/24 14:47
 */
public interface UserPrivateKeyDao {

    /**
     * 新增公钥私钥信息
     *
     * @param userPrivateKeyDO 公钥私钥信息
     * @return java.lang.String
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:58
     */
    String insert(UserPrivateKeyDO userPrivateKeyDO);

    /**
     * 新增公钥私钥信息，可指定字段
     *
     * @param userPrivateKeyDO 公钥私钥信息
     * @return java.lang.String
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:58
     */
    String insertSelective(UserPrivateKeyDO userPrivateKeyDO);

    /**
     * 根据主键id查询公钥私钥信息
     *
     * @param privateKeyId 主键id
     * @return com.bestcem.xm.user.entity.pojo.UserPrivateKeyDO
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:58
     */
    UserPrivateKeyDO selectById(String privateKeyId);

    /**
     * 根据主键更新公钥私钥信息的某些字段
     *
     * @param userPrivateKeyDO 公钥私钥信息
     * @return java.lang.Integer
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/24 14:59
     */
    Integer updateSelectiveById(UserPrivateKeyDO userPrivateKeyDO);

    /**
     * 根据公钥私钥记录id删除公钥私钥记录
     *
     * @param privateKeyId 公钥私钥记录id
     * @return java.lang.Integer
     * @author cuiqiongyu <qiongyu.cui@idiaoyan.cn>
     * @date 2022/03/25 15:26
     */
    Integer deleteById(String privateKeyId);

}
